package com.huchao.www.dao;

import com.huchao.www.pojo.StudentData;
import com.huchao.www.pojo.StudentInfo;
import com.huchao.www.pojo.StudentPo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * @Description:
 * @BelongsProject: background-management-v10
 * @BelongsPackage: com.huchao.www.dao
 * @Author: 亖思
 * @CreateTime: 2023/3/10 17:37
 * @Version: 1.0
 */
@Mapper
public interface StudentMapper {
    /**
     * 〈添加学生信息〉
     *
     * @param studentInfo:
     * @Author: 亖思
     * @Date: 2023/3/10 18:03
     * @return: com.huchao.www.pojo.StudentInfo
     **/
    void addStudent(StudentInfo studentInfo);

    /**
     * 〈根据StudentDataList添加学生信息〉
     *
     * @param studentDataList:
     * @Author: 亖思
     * @Date: 2023/3/15 21:29
     * @return: void
     **/
    void addStuByStudentDataList(@Param("list") List<StudentData> studentDataList);

    /**
     * 〈分页查询〉
     *
     * @param map:
     * @Author: 亖思
     * @Date: 2023/3/11 10:59
     * @return: java.util.List<com.huchao.www.pojo.StudentInfo>
     **/
    List<StudentPo> findAllPageList(HashMap<String, Object> map);

    /**
     * 〈多表联查学生数据〉
     *
     * @Author: 亖思
     * @Date: 2023/3/17 10:03
     * @return: java.util.List<StudentPo>
     **/
    List<StudentData> findAllStu();

    /**
     * 〈查询所有班级〉
     *
     * @Author: 亖思
     * @Date: 2023/3/14 17:13
     * @return: java.util.List<java.lang.String>
     **/
    List<String> findAllClassNum();

    /**
     * 〈查询所有学院〉
     *
     * @Author: 亖思
     * @Date: 2023/3/14 17:14
     * @return: java.util.List<java.lang.String>
     **/
    List<String> findAllCollege();

    /**
     * 〈查询所有专业〉
     *
     * @Author: 亖思
     * @Date: 2023/3/14 17:14
     * @return: java.util.List<java.lang.String>
     **/
    List<String> findAllMajor();

    /**
     * 〈查询所有学号〉
     *
     * @Author: 亖思
     * @Date: 2023/3/16 9:33
     * @return: java.util.List<java.lang.Integer>
     **/
    List<Integer> findAllNo();
}
